package com.wgh.demo.ai.service;

import reactor.core.publisher.Mono;

import java.io.InputStream;
import java.io.OutputStream;

/**
 * 文档转换服务接口
 */
public interface DocumentConversionService {

    /**
     * 将Word文档(doc/docx)转换为PDF
     * @param inputStream Word文档输入流
     * @param outputStream PDF输出流
     * @param fileName 文件名(用于判断文档类型)
     * @return 转换是否成功
     */
    Mono<Boolean> convertWordToPdf(InputStream inputStream, OutputStream outputStream, String fileName);

    /**
     * 将多张图片转换为PDF
     * @param imageStreams 图片输入流列表
     * @param outputStream PDF输出流
     * @return 转换是否成功
     */
    Mono<Boolean> convertImagesToPdf(InputStream[] imageStreams, OutputStream outputStream);

    /**
     * 将PowerPoint文档(ppt/pptx)转换为PDF
     * @param inputStream PowerPoint文档输入流
     * @param outputStream PDF输出流
     * @param fileName 文件名(用于判断文档类型)
     * @return 转换是否成功
     */
    Mono<Boolean> convertPowerPointToPdf(InputStream inputStream, OutputStream outputStream, String fileName);

}